"""
专用代码发射器

提供各种专用的代码发射器，处理特定类型的IR节点。
"""

from .template_emitter import TemplateEmitter
from .operator_emitter import OperatorEmitter
from .operator_overload_emitter import OperatorOverloadEmitter
from .literal_emitter import LiteralEmitter
from .container_emitter import ContainerEmitter
from .comprehension_emitter import ComprehensionEmitter
from .statement_emitter import StatementEmitter
from .attribute_emitter import AttributeEmitter
from .call_emitter import CallEmitter
from .name_emitter import NameEmitter
from .string_format_emitter import StringFormatEmitter
from .subscript_emitter import SubscriptEmitter
from .assignment_emitter import AssignmentEmitter
from .expression_emitter import ExpressionEmitter
from .exception_constructor_emitter import ExceptionConstructorEmitter
from .type_constructor_emitter import TypeConstructorEmitter
from .lambda_emitter import LambdaEmitter
from .nested_function_emitter import NestedFunctionEmitter
from .await_emitter import AwaitEmitter

__all__ = [
    "TemplateEmitter",
    "OperatorEmitter",
    "OperatorOverloadEmitter",
    "LiteralEmitter",
    "ContainerEmitter",
    "ComprehensionEmitter",
    "StatementEmitter",
    "AttributeEmitter",
    "CallEmitter",
    "NameEmitter",
    "StringFormatEmitter",
    "SubscriptEmitter",
    "AssignmentEmitter",
    "ExpressionEmitter",
    "ExceptionConstructorEmitter",  # 异常构造优先于通用类型构造
    "TypeConstructorEmitter",
    "LambdaEmitter",
    "NestedFunctionEmitter",
    "AwaitEmitter",
]
